CallCustomiseAPI
≥4.8.5.200415.0
支持匿名用户调用。
接口功能
请求Customise API
说明
- 该接口Content-Type应该是
multipart/form-data;
,该值通过form指定。- 该接口只允许从DM内部发起请求。
- 调用时需要在URL中指定Customise API的ID,例如
/internalapi/CallCustomiseAPI?id=60b5f4c3f9ea92283c56a5f2
,其中60b5f4c3f9ea92283c56a5f2
为调用的Customised Security API。可参考下文demo。
请求参数
参数 | 类型 | 说明 |
---|---|---|
file | String | file控件内容 |
data | String | 除附件外其他Document必要信息 |
parameter | String | App API需要的其他信息,JSON的序列化值,参考CallCustomiseAPI |
data说明
字段名 | 类型 | 说明 |
---|---|---|
FormAlias | String | Form别名, Form的标识 |
DataId | String | 文档ID,无下划线的GUID,可为空,为空时接口自动生成 |
UserName | String | |
UserId | String | |
AttachmentFiledName | String | 附件在Form中对应的控件Field name |
TransferToPDF | Bool | 是否将附件转为PDF,默认为 true。4.5.1开始支持。如果附件控件为安全上传控件,则该字段会被忽略。 |
ActionCode | String | |
ActionMessage | String | |
Data | Dictionary<string, object> |
附件信息,具体字段见下表 |
DocumentData | Dictionary<string, string> |
文档其他字段字典 |
Data说明
字段名 | 类型 | 说明 |
---|---|---|
fileName | string | 文件名 |
fileUUID | string | 文件标识,可以指定GUID作为值,若不指定,接口自动生成。可通过该字段调用 DownloadAttachment 下载附件。 |
[info] 提示
- 注册Customise API步骤请参考:注册Customise API
请求示例
<!--注意,此处的form enctype属性需要指定为 multipart/form-data-->
<form enctype= "multipart/form-data" ID="form1">
<input type="file" id="file" name="file">
<input type="button" value="提交" onclick="uploadFile()">
</form>
function uploadFile(){
var ofile = $("#file").get(0).files[0];
var formData = new FormData();
if(!ofile){
alert('请上传文件!','info');
return;
}
var data=JSON.stringify({
"FormAlias": "DemoFormAlias",
"DataId": "",
"UserName": "DemoUser",
"UserId": "DemoUser",
"ActionCode": "",
"ActionMessage": "",
"AttachmentFiledName": "File",
"TransferToPDF":true,
"Data": {
"fileName": "",
"fileUUID": ""
},
"DocumentData": {
"OtherField": "demo"
}
});
var parameter=JSON.stringify({
"TestA": "a",
"TestB": "123"
});
formData.append("file", ofile);
formData.append("data", data);
formData.append("parameter", parameter);
$.ajax({
url: '../pages/pagecode/internalapi/CallCustomiseAPI?id=5e6b43aaf9ea922b58c9671f',
type: "POST",
data: formData,
cache: false,
processData: false,//表示提交的时候不会序列化 data,而接使用 data,默认为 true
contentType: false,
success: function(data){
console.log(data);
}
});
}
返回类型
- StatusCode:调用 CallCustomiseAPI的状态,200表示调用成功
- Info:调用 CallCustomiseAPI的信息,出现错误时供开发者查看可读原因
- Data:接口返回内容
返回示例
{
"StatusCode": 200,
"Info": "Request (or process) succeeded",
"Data": "something the custom code in the App API returns"
}